package com.bt7274.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bt7274.pojo.Notification;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface NotificationMapper extends BaseMapper<Notification> {

    // 插入通知
    int insertNotification(Notification notification);

    // 查询某用户的通知列表（按时间倒序）
    List<Notification> selectNotificationsByUserId(@Param("userId") String userId,
                                                    @Param("offset") int offset,
                                                    @Param("pageSize") int pageSize);

    // 查询某用户的未读通知数量
    long countUnreadNotifications(@Param("userId") String userId);

    // 标记单条通知为已读
    int updateNotificationAsRead(@Param("notificationId") String notificationId);

    // 标记某用户所有通知为已读
    int updateAllNotificationsAsRead(@Param("userId") String userId);
}
